<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://unpkg.com/vue@next"></script>
</head>

<body>
  <div id="root"></div>
  <script>

    const app = Vue.createApp({
      template: `<child app="app" @change="change"><div>aa</div></child>`,
      setup() {
        function change() {
          alert('change')
        }
        return { change }
      }
    });
    app.component('child', {
      template: `<div @click="click"><slot></slot></div>`,
      setup(props, context) {
        const { attrs, slots, emit } = context
        console.log(attrs.app); //None-Props
        console.log(slots.default()[0].children);
        function click() {
          emit('change')
        }
        return { click }
      }
    });

    const vm = app.mount('#root');
  </script>
</body>

</html>